package com.example.myworkers.controller;


import com.example.myworkers.model.EmpBreak;
import com.example.myworkers.service.EmpBreakService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;

/**
 * 请假管理
 *
 * @Author 吴秋霞
 * @Date 2023/10/29 17:09
 * @Description: 请假管理
 * @Email: ws180007@163.com
 */


@RequestMapping("emp_break")
@RestController
public class EmpBreakController {
    @Autowired
    private EmpBreakService empBreakService;

    /**
     * 按条件查找列表 可以通过名字，请假开始时间，请假状态，请假类型查找
     * 也可以无条件返回列表
     *
     * @param empBreak
     * @return
     */
    @GetMapping("getEmpBreakList")
    public List<EmpBreak> getEmpBreakList(EmpBreak empBreak) {
        return empBreakService.getEmpBreakList(empBreak);
    }

    /**
     * 查找一条数据
     *
     * @param id
     * @return
     */
    @GetMapping("searchById")
    public EmpBreak searchById(String id) {
        return empBreakService.getById(id);
    }

    /**
     * 传入请假人姓名，请假人id，请假类型
     *
     * @param empBreak
     * @return
     */
    @PostMapping("addEmpBreak")
    public String addEmpBreak(@RequestBody EmpBreak empBreak) {
        empBreak.setBreakstate("未审批");
        empBreak.setCreatetime(String.valueOf(new Date()));
        empBreakService.save(empBreak);

        return "请假成功，等待审批";
    }

    /**
     * 修改请假状态 --通过，不通过
     *
     * @param id
     * @param state
     * @return
     */
    @GetMapping("modifyEmpBreak")
    public String modifyEmpBreak(Integer id, String state) {

        EmpBreak empBreak = empBreakService.getById(id);

        empBreak.setBreakstate(state);

        empBreakService.updateById(empBreak);

        return "审批状态修改成功";

    }

}
